The increased capability of computers to store vast collections of information has led to a need for increasingly efficient techniques for information retrieval. Information retrieval refers to searching for relevant information in information systems that may contain numerous documents. Some information retrieval systems are based on keywords that index documents and a query language to retrieve documents from centralized document repositories according to those keywords. Typically, a text search engine that executes a query formulated by a user and returns a set of documents matching the keywords identified within the query is utilized. Some search engines may even predict what information is relevant to a user based on keywords identified in such a query. Such techniques, however, are insufficient to meet the diversified information retrieval needs of some users. In addition, traditional information retrieval systems may not identify the vast amount of potentially relevant documents that may best answer a particular user's need.
Various limitations may be associated with some information retrieval systems. For example, in some information retrieval systems, there is no genuine interaction between user and system. The user merely accesses information in a passive fashion and a priori needs to know how to query relevant information with keywords. The effect of this is that users, both skilled and unskilled in information retrieval, must know how to characterize the information they are searching for with appropriate keywords before an actual search commences. The formulation of such a query can be a difficult task, especially in light of the vast amount of information available on the Internet.